/*
 * RemoveItem.java
 * Copyright (C) 2007 Ezequiel Turovetzky
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 3
 * of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, see <http://www.gnu.org/licenses/>.
 */
package ar.com.botonera.gui.menu.contextual;

import ar.com.botonera.Application;
import ar.com.botonera.config.BotoneraManager;
import ar.com.botonera.gui.SoundButton;
import ar.com.botonera.gui.common.Messenger;

/**
 * Item del men&uacute; mostrado al hacer click derecho
 * sobre un bot&oacute;n de la botonera.
 * <br>
 * Este &iacute;m muestra un di&aacute;logo para que el usuario
 * pueda remover el bot&oacute;n sobre el cual se hizo el click derecho.
 * <br><br>Usa las properties:
 * <ul>
 * <li><code>ar.com.botonera.contextual.menu.item.remove</code></li>
 * <li><code>ar.com.botonera.remove.button.confirm.title</code></li>
 * <li><code>ar.com.botonera.remove.button.confirm.message</code></li>
 * </ul>
 * @author <a href="mailto:tezequiel@gmail.com">Ezequiel Turovetzky</a>
 * @version 1.0
 */
public class RemoveItem extends ContextualMenuItem {

    //~ Constructors -----------------------------------------------------------

    /**
     * Creates a new RenameItem object.
     */
    public RemoveItem() {
        super(BotoneraManager.getInstance().get("ar.com.botonera.contextual.menu.item.remove"));
    }

    //~ Methods ----------------------------------------------------------------

    /**
     * Elimina el bot&oacute;n de la botonera.
     * <br>Para ello, hace los siguientes pasos:
     * <ol>
     * <li>Muestra un di&aacute;logo a confirmar por el usuario. Si el usuario confirma sigue con los siguientes
     * pasos. Caso contrario, no hace nada.</li>
     * <li>Esconde el men&uacute; contextual (para que no quede visible)</li>
     * <li>Obtiene el bot&oacute;n sobre el que se hizo click derecho</li>
     * <li>Elimina el bot&oacute;n del archivo de configuraci&oacute;n</li>
     * <li>Elimina el bot&oacute;n de la botonera</li>
     * </ol>
     */
    @Override
    public void onClick() {
    	ContextualMenu menu = (ContextualMenu)getParent();
    	menu.setVisible(false);
    	
    	BotoneraManager bm = BotoneraManager.getInstance();
    	String title = bm.get("ar.com.botonera.remove.button.confirm.title");
    	String message = bm.get("ar.com.botonera.remove.button.confirm.message");
    	
    	if(Messenger.showConfirmMessage(title, message) == Messenger.YES_OPTION) {
    		SoundButton clickedButton = menu.getClickedButton();
    		Application.getInstance().getWindow().getBotonera().removeButton(clickedButton);
    	}
    	
    }
}
